Two mode creature simulation

ABSTRACT

A technique for simulating the activities of a large number of creatures is described. The technique utilises two modes of simulation. The first mode of simulation is arranged to simulate the activities of all of the creatures. The second mode of simulation is arranged to simulate the activities of a few of the creatures, at a more detailed level than the first mode. The second mode is utilised by the first mode to determine new parameters of individual creatures when the creatures undergo a change in environment.

FIELD OF THE INVENTION

[0001] The present invention relates to a method and a device suitable for simulating the activities of a plurality of creatures.

BACKGROUND OF THE INVENTION

[0002] One of the problems with studying life sciences is that changes in ecosystems and the evolution of life forms takes place over long periods of time. Consequently, life processes have been simulated in a variety of formats, thus allowing the study of the interaction of creatures and the emerging population patterns.

[0003] An animat is an artificial creature which exhibits an active and purposeful behaviour in an environment which presents it with problems—obstacles, navigation, hazards, goals. Animats are often inspired by biological organisms, which are observed to solve complex problems in real physical environments. Indeed, animats may be designed to be as close as possible to the original biological organisms, so as to model the potential behaviour and/or evolution of such organisms.

[0004] Although it is possible to build physical robots to study problems of this nature, there is a strong incentive to simulate both animat and environment together using computational models of (for example) sensors, actuators, neural networks and the Newton-Euler laws of rigid body dynamics. Computational models permit the creation of large populations of simulated animats so that evolutionary situations can be studied. Use of physical robots to simulate large populations is impractical, as the robots will suffer from wear and tear, break downs, and require significant capital and support costs. Simulations of this type are also becoming increasingly popular in entertainment applications.

[0005] Experience with such simulated animats in an environment with realistic simulated physics shows that a modern computer (for instance, a 1 GHz Pentium computer) can simulate only a few (i.e. less than 10) animats in real time. A generic example of a simulation that uses “realistic simulated physics” is the 1994 work of Karl Simms, for instance as published in pages 28-39, “Evolving 3D morphology and behaviour by competition”, in the book “Artificial Life IV” edited by Rod Brooks and Pattie Maes, published by M.I.T. Press. For evolutionary simulations, it is desirable that populations of thousands are simulated at speeds of 10 to 100 times real time. It will thus be appreciated that the computational resource available on a typical desktop PC is inadequate by a significant factor (e.g. a factor of around 10⁵-10⁶) to allow such a simulation.

[0006] Whilst it will be appreciated that the power of computers is continually increasing, it will also be appreciated that simulations tend to increase in complexity over time, so as to allow more accurate simulations of real world situations e.g. so as to provide complex animats with the intelligence to solve real-world problems.

[0007] It is an aim of the present invention to provide a simulation technique that allows efficient usage of the available computational power, regardless of the processing power of the computer.

STATEMENT OF THE INVENTION

[0008] In a first aspect, the present invention provides a method of simulating the activities of a plurality of creatures, the method comprising utilising at least two modes of simulation:

[0009] a first mode arranged to simulate the activities of all of said creatures; and

[0010] a second mode arranged to simulate the activity of at least one of said creatures at a more detailed level than said first mode.

[0011] Preferably, said second mode of simulation is utilised when it is detected that one or more of said creatures simulated by said first mode is undergoing a change in environment, the second mode being utilised to simulate the activity of the creatures undergoing the change in environment.

[0012] Preferably, said change in environment comprises a creature undergoing at least one of: fighting; mating; eating; interacting with another creature; reproducing; sensing another creature; encountering another creature; moving to a new terrain type; altering the environment.

[0013] Preferably, the second mode is invoked at the start of the simulation so as to determine the starting parameters of each creature.

[0014] Preferably, said second mode is utilised to determine at least one parameter affecting the activity of the simulated creature, said parameter being subsequently utilised by the first mode of simulation.

[0015] Preferably, when the method changes from utilising the second mode to the first mode, at least one parameter relating to said creature simulated by the second mode is stored for use by a later iteration of the second mode.

[0016] Preferably, the above parameters comprise at least one of creature mass; creature energy; creature strength; creature behaviour transition probabilities; creature biochemical levels; creature movement parameters; creature speed; creature rate of turn.

[0017] In a further aspect, the present invention provides a computer program arranged to perform the method as described above.

[0018] In another aspect, the present invention provides a recordable medium comprising a computer program.

[0019] In a further aspect, the present invention provides a simulator device arranged to simulate the activities of a plurality of creatures, the device being arranged to utilise at least two modes of simulation:

[0020] a first mode arranged to simulate the activities of all of said creatures; and

[0021] a second mode arranged to simulate the activity of at least one said creatures at a more detailed level than said first mode.

BRIEF DESCRIPTION OF THE DRAWING

[0022] For a better understanding of the invention, and to show how embodiments of the same may be carried into effect, reference will now be made, by way of example, to the accompanying diagrammatic drawing in which:

[0023]FIG. 1 shows a flow chart indicating a simulation technique in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT

[0024] The preferred embodiment utilises a large scale low fidelity simulation (Lo-Fi Sim) arranged to simulate the activities of a large number of animats. Such a Lo-Fi Sim is typically used to simulate at least 10,000 animats, but could for instance be utilised to simulate even larger numbers e.g. 100,000, 1,000,000, 10,000,000 animats or greater.

[0025] The Lo-Fi Sim (shown in FIG. 1 as step 100) is arranged to provide a simulation utilising good approximations of the macroscopic behaviour of an animat.

[0026] The Lo-Fi Sim has programmatic access to a simulation capable of modelling a small number of animats in greater detail, using all relevant physical details in a high fidelity simulation (the Hi-Fi Sim, 120).

[0027] The Lo-Fi Sim (100), utilising the macroscopic parameters is adequate at describing the animat during most of the simulation. However, when the animat encounters a change in its environment (110) that can not be adequately modelled using the Lo-Fi Sim then the Hi-Fi Sim (120) is used to determine the performance of the animat in the new environment. The Hi-Fi Sim can then pass the results (e.g. the new parameters, or new values of previous parameters) back to the Lo-Fi Sim.

[0028] Thus the Hi-Fi Sim, operating as a slave program of the Lo-Fi Sim can measure the performance of an animat under various conditions that need to be tested (such as a change in terrain type), and return a test report to the Lo-Fi Sim. The Lo-Fi Sim will then utilise the results of the test report in the form of macroscopic parameters to provide an efficient simulation of the large number of creatures.

[0029] In the preferred embodiment, the Hi-Fi-Sim is utilised to determine the speed of an animat when it reaches a new particular type of terrain by accurately modelling the movements of the individual limbs of the animat over the terrain to determine an average speed. This average speed is then be passed back to the Lo-Fi Sim.

[0030] An approximation used in the Lo-Fi Sim is that the animats travel in straight lines between significant changes in sensory inputs or over environment terrain types. The Lo-Fi Sim requires information on the speed of a particular animat on a particular terrain type. This information is determined by placing the animat in a portion of the Hi-Fi Sim (the “Test Engine”) that tests the animat under conditions relevant to the Lo-Fi Sim.

[0031] For example, the Test Engine tests a particular animat for the following attributes:

[0032] Straight line speed on terrain type A (e.g. smooth)

[0033] Straight line speed on terrain type B (e.g. rough)

[0034] Straight line speed on terrain type C (e.g. creature ascending slope of 10°)

[0035] Straight line speed on terrain type D (e.g. creature descending slope of 10°)

[0036] Straight line speed on terrain type E (e.g. creature traversing 10° slope)

[0037] Rate of turn of creature (e.g. in radians per second)

[0038] Respective energy consumption rate required on terrain types A, B, C, D and E.

[0039] Thus, by only invoking the more detailed Hi-Fi Sim when required, and otherwise the less computationally intensive Lo-Fi Sim to otherwise model the activities of the animats, it will be appreciated that efficient use is made of the available computational resource. This enables large populations of animats (or other creatures) to be modelled to a fair degree of accuracy on a relatively low power computer.

[0040] Whilst the above embodiment has been described in terms of animats, it will be appreciated that the technique could be performed upon a simulation of any creature, artificial or otherwise. The artificial creature could be based upon a real creature or person.

[0041] Equally, whilst the above embodiment has provided the example of the change in environment being a change in terrain, it will be appreciated that other changes in the environment could lead to the Hi-Fi Sim being invoked.

[0042] For example, two animats may meet and interact (e.g. fight or mate) in a way that could only be modelled in the Hi-Fl Sim. The Hi-Fi Sim would thus be invoked programmatically by the Lo-Fi Sim to carry out a detailed simulation of such an encounter (using a portion of the Hi-Fi Sim called the “Encounter Engine”) and the animats may then be retested by the Test Engine if the encounter is likely to have caused a change that will influence the speed of the animat (e.g. it is “hurt” or low on energy, and thus unable to travel so quickly). In this way the Lo-Fi Sim continues to use the best available approximation to the animat's behaviour, invoking the Hi-Fi Sim when necessary to preserve validity in the overall simulation.

[0043] Preferably, the Hi-Fi Sim is arranged to use computationally expensive techniques for modelling of aspects such as behaviour selections, sensing and interaction with the environment and other animats, and uses a full, 3-D rigid-body physics simulation. The Lo-Fi Sim is arranged to use only a 2-D (or 2.5D) physics simulation.

[0044] It will be appreciated that whilst the preferred embodiment has described the simulation in terms of two separate modes (a Lo-Fi Sim and a Hi-Fi Sim), equally the invention could be implemented utilising one or more modes that macroscopically simulate the animats activities (i.e. one or more Lo-Fi Sims, each Sim providing a relatively coarse level of simulation) in conjunction with one or more detailed simulation modes (e.g. a separate Test Engine, a separate Encounter Engine etc, each mode being directed to simulating a different change in the environment of one or more animats).

[0045] It will be appreciated that, as the Lo-Fi Sim uses a relatively coarse level of simulation, then when the test report from the Hi-Fi Sim is passed to the Lo-Fi Sim detailed information about the animat activities and the animat simulated in the Hi-Fi Sim could be lost. For consistency when performing Hi-Fi Simulations, this is undesirable.

[0046] Preferably, when an animat is transferred from the Hi-Fi Sim to the Lo-Fi Sim, information is extracted from the Hi-Fi Sim that is used directly within the Lo-Fi Sim.

[0047] Secondly, detailed information about the animat is stored, so that the next time the particular animat (or type of animat) is modelled by the Hi-Fi Sim, such information can be recalled and utilised so as to provide the best possible simulation of the animat.

[0048] For instance, an animat may consist of a number of body parts, each body part having an associated energy level, mass and strength.

[0049] Information on the sum of each of these parameters might be utilised within the Lo-Fi Simulation i.e. the total energy stored within the animat, the total mass of the animat and the total strength stored within the animat. However, within the Hi-Fi Sim, each of the respective body parts is simulated, and consequently each parameter has to be known with respect to each body part i.e. the energy level, the individual mass, and the individual strength of each body part of the animat.

[0050] In order to preserve such information when exiting the Hi-Fi Sim, as only the totals of these parameters is passed to the Lo-Fi Sim, then information on the distribution of energy, mass and strength across each body part is stored ready for the next time the animat enters the Hi-Fi Sim.

[0051] The total energy, mass or strength of the animat may change whilst in the Lo-Fi Sim. Thus, when the animat next enters the Hi-Fi Sim, the appropriately rescaled parameters for each body part can be calculated by utilising the total energy, total mass, total strength values from the Lo-Fi Sim and the recorded distribution of the proportion of such energies, mass and strength within each body part to accurately determine the new values of energy, mass and strength for each individual body part.

[0052] In normal operation, as part of the initialisation process of the simulation, the Hi-Fi Sim will be invoked to determine macroscopic parameters for all animats, either by detailed modelling of each animat, or detailed modelling of each type of animat.

[0053] Whilst the above embodiment has been described with reference to an animat, it will be appreciated any artificial autonomous agent including representations of: animals (known or imagined), vehicles (known or imagined), or robots (known or imagined) could be used in a simulation in accordance with alternative embodiments of the present invention. Such agents (or creatures) can be arranged to interact with a simulated environment that may be based on a real-world environment.

[0054] The reader's attention is directed to all papers and documents which are filed concurrently with or previous to this specification in connection with this application and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference.

[0055] All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and/or all of the steps of any method or process so disclosed, may be combined in any combination, except combinations where at least some of such features and/or steps are mutually exclusive.

[0056] Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.

[0057] The invention is not restricted to the details of the foregoing embodiment(s). The invention extends to any novel one, or any novel combination, of the features disclosed in this specification (including any accompanying claims, abstract and drawings), or to any novel one, or any novel combination, of the steps of any method or process so disclosed. 

1. A method of simulating the activities of a plurality of creatures, the method comprising utilising at least two modes of simulation: a first mode arranged to simulate the activities of all of said creatures; and a second mode arranged to simulate the activity of at least one of said creatures at a more detailed level than said first mode.
 2. A method as claimed in claim 1, wherein said second mode of simulation is utilised when it is detected that one or more of said creatures simulated by said first mode is undergoing a change in environment, the second mode being utilised to simulate the activity of the creatures undergoing the change in environment.
 3. A method as claimed in claim 2, wherein said change in environment comprises a creature undergoing at least one of: fighting; mating; eating; interacting with another creature; reproducing; sensing another creature; encountering another creature; moving to a new terrain type; altering the environment.
 4. A method as claimed in claim 1, wherein the second mode is invoked at the start of the simulation so as to determine the starting parameters of each creature.
 5. A method as claimed in claim 1, wherein said second mode is utilised to determine at least one parameter affecting the activity of the simulated creature, said parameter being subsequently utilised by the first mode of simulation.
 6. A method as claimed in claim 1, wherein when the method changes from utilising the second mode to the first mode, at least one parameter relating to said creature simulated by the second mode is stored for use by a later iteration of the second mode.
 7. A method as claimed in claim 4, wherein said parameter comprises at least one of creature mass; creature energy; creature strength; creature behaviour transition probabilities; creature biochemical levels; creature movement parameters; creature speed; creature rate of turn.
 8. A method as claimed in claim 5, wherein said parameter comprises at least one of creature mass; creature energy; creature strength; creature behaviour transition probabilities; creature biochemical levels; creature movement parameters; creature speed; creature rate of turn.
 9. A method as claimed in claim 6, wherein said parameter comprises at least one of creature mass; creature energy; creature strength; creature behaviour transition probabilities; creature biochemical levels; creature movement parameters; creature speed; creature rate of turn.
 10. A recordable medium having recorded thereon computer readable code, wherein the computer readable code is adapted to simulate the activities of a plurality of creatures by utilising at least two modes of simulation, a first mode arranged to simulate the activities of all of said creatures, and a second mode arranged to simulate the activity of at least one of said creatures at a more detailed level than said first mode.
 11. A simulator device arranged to simulate the activities of a plurality of creatures, the device being arranged to utilise at least two modes of simulation: a first mode arranged to simulate the activities of all of said creatures; and a second mode arranged to simulate the activity of at least one said creatures at a more detailed level than said first mode. 